package com.itheima.d6_enum2;

public class Test2 {
    public static void main(String[] args) {
        // 目标：搞清楚枚举的应用场景: 信息标志和信息分类。
        // 需求：需要你提供一个方法，可以完成向下取整，向上取证，四舍五入，去掉小数部分。
        // 常量做信息标准和分类：也很优雅，但是参数值不被约束！！
        // 枚举做信息标准和分类：很优雅，参数值受到约束，最好的信息标志和分类的理想方案，
        System.out.println(handleData(3.9991, Constant2.DOWN));
        System.out.println(handleData(5.9991, Constant2.HALF_UP));
    }

    public static double handleData(double number, Constant2 flag){
        switch (flag){
            case DOWN:
                // 向下取证
                number = Math.floor(number); // 3.9999 == 3
                break;
            case UP:
                // 向上取证
                number = Math.ceil(number); // 3.1== 4
                break;
            case HALF_UP:
                // 四舍五入
                number = Math.round(number); // 3.6== 4
                break;
            case DELETE_LEFT:
                // 去掉小数部分
                number = (int)number;
                break;
        }
        return number;
    }
}
